package liaoxuefeng.demo;

import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.logging.Logger;

/**
 * 客户端
 * RMI 要求 服务器和客户端共享同一个接口
 * 因此我们要把 WorldClock.java 这个接口文件复制到客户端, 然后在客户端实现 RMI 调用
 */
public class Client {
    private static Logger log = Logger.getLogger(Client.class.getSimpleName());

    public static void main(String[] args) throws RemoteException, NotBoundException {
        // 连接到服务器
        Registry registry = LocateRegistry.getRegistry(1099);
        // 查找名称为 "" 的服务并强制转型为 "" 接口
//        Naming.lookup(WorldClock)
        WorldClock stub = (WorldClock) registry.lookup("WorldClock");
        // 正常调用接口方法
        LocalDateTime now = stub.getLocalDateTime("Asia/Shanghai");

        log.info(now.format( DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") ));
    }
}
